#include "listitembox.h"
#include "ui_listitembox.h"
#include <QDebug>

ListItemBox::ListItemBox(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ListItemBox),
    isLike(false)
{
    ui->setupUi(this);

    connect(ui->likeBtn,&QPushButton::clicked,this,&ListItemBox::onLikeBtnClicked); //关联槽函数
}

ListItemBox::~ListItemBox()
{
    delete ui;
    //qDebug()<<"ListItemBox被销毁";
}

void ListItemBox::enterEvent(QEvent *event)
{
    (void)event;
    setStyleSheet("background-color:#EFEFEF");
}

void ListItemBox::leaveEvent(QEvent *event)
{
    (void)event;
    setStyleSheet("");
}

void ListItemBox::setMusicName(const QString &musicName)
{
    ui->musicNameLabel->setText(musicName);
}

void ListItemBox::setMusicSinger(const QString &musicSinger)
{
    ui->musicSingerLabel->setText(musicSinger);
}

void ListItemBox::setMusicAlbum(const QString &musicAlbum)
{
    ui->musicAlbumLabel->setText(musicAlbum);
}


void ListItemBox::setLikeMusic(bool isLike)
{
    this->isLike = isLike;
    if(isLike==true)
    {
        ui->likeBtn->setIcon(QIcon(":/images/like_2.png"));
    }
    else
    {
        ui->likeBtn->setIcon(QIcon(":/images/like_3.png"));
    }

}

void ListItemBox::onLikeBtnClicked() //点击是否喜欢按钮 之后
{
    //切换喜欢或不喜欢状态
    isLike = !isLike;
    setLikeMusic(isLike);

    //当收藏状态（收藏或不收藏）发生改变时，应当通知并修改 Music 对象中的 isLike 属性

    emit setIsLike(isLike); //qqmusic可以更新 但是不知道更新哪一个音乐 所以需要到commonPage获得需要更新的music再去qqmusic
}
